package cn.edu.cdut.service;

import cn.edu.cdut.dao.WishDateInfoDao;
import cn.edu.cdut.dto.MyRes;
import cn.edu.cdut.dto.WishDate;
import cn.edu.cdut.model.WishDateInfo;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * Author  kobe
 * Created on 2017-06-19-22:32
 */
@Service
public class WishDateService {

        @Autowired
        private WishDateInfoDao wishDateInfoDao;

        @Transactional
        public MyRes setWishDate(WishDate wishDate) {
                List<WishDateInfo> wishDateInfoList = wishDateInfoDao.findAll();
                if (wishDateInfoList.size() == 0) {
                        WishDateInfo wishDateInfo1 = new WishDateInfo();
                        wishDateInfo1.setStartDate(wishDate.getStartDate());
                        wishDateInfo1.setEndDate(wishDate.getEndDate());
                        wishDateInfoDao.save(wishDateInfo1);
                } else {
                        WishDateInfo wishDateInfo = wishDateInfoList.get(0);
                        wishDateInfo.setStartDate(wishDate.getStartDate());
                        wishDateInfo.setEndDate(wishDate.getEndDate());
                        wishDateInfoDao.save(wishDateInfo);
                }
                return new MyRes(200, "提交成功！", null);
        }

        @Transactional
        public MyRes getWishDate( ) {
                List<WishDateInfo> wishDateInfoList = wishDateInfoDao.findAll();
                ObjectMapper mapper = new ObjectMapper();
                String resStr;
                if (wishDateInfoList.size() == 0) {
                        return new MyRes(200, null, null);
                } else {
                        try {
                                resStr = mapper.writeValueAsString(wishDateInfoList.get(0));
                        } catch (JsonProcessingException e) {
                                e.printStackTrace();
                                return new MyRes(201, "系统后台异常", null);
                        }
                        return new MyRes(200, null, resStr);
                }

        }
}
